In any given corporate, non-profit, government, or academic organization, individuals and entities associated with the organization (e.g., customers, clients, employees, shareholders, suppliers, donors, students, contractors, products, merchandise, inventory goods, etc.) may be electronically registered by the organization. The organization may maintain one or more records associated with each registered individual or entity. The systems responsible for performing the registration may assign each of these individuals and entities a unique entity identifier. The unique entity identifier may be an identification number, an email address, or any type of string, label, or value that can be lexicographically ordered. For example, an entity identifier may be a customer number. These entity identifiers may be kept in a datastore, such as a flat file or a database on a CD, hard drive, disk, tape, or any other electronically readable medium well known in the art. Further, at the beginning of each new calendar or fiscal year, a new datastore may be created to hold the entity identifiers of the individuals and entities associated with the organization during the new year.
It is often the case that within a given datastore, a single individual or entity may be assigned multiple entity identifiers. The datastore may associate the multiple entity identifiers pertaining to the single individual or entity by grouping these entity identifiers into a set. In other words, a set would contain all of the multiple entity identifiers pertaining to a given individual or entity. While it may be permissible for a single entity to have multiple entity identifiers, it is not permissible for an entity identifier to denote more than one entity. Thus, the aforementioned sets should be disjoint. However, those skilled in the art will appreciate that during the grouping process, a race condition may create more than one set for a given individual or entity. Each of these sets may either correctly associate all of the multiple entity identifiers for the given individual or entity, or may exclude some of the multiple entity identifiers, and thus only associate a subset of all the multiple entity identifiers.
As discussed above, this grouping process occurs within each datastore. Although a given individual or entity may be registered in two or more datastores (e.g., each datastore being associated with a different fiscal year), it is often the case that the sets resulting from the grouping process in each of the datastores differ. Further, between the two or more datastores, there may be both common and different entity identifiers representing the same individual or entity.